package com.eduplatform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.eduplatform.dto.ExamDTO;
import com.eduplatform.entity.Exam;

/**
 * 考试Service接口
 */
public interface ExamService extends IService<Exam> {

    /**
     * 分页查询考试列表
     *
     * @param page           页码
     * @param size           每页大小
     * @param subjectId      学科ID
     * @param educationLevel 教育阶段
     * @param status         状态
     * @param schoolId       学校ID
     * @param keyword        关键词
     * @return 分页结果
     */
    IPage<ExamDTO> pageExams(int page, int size, Long subjectId, Integer educationLevel,
            Integer status, Long schoolId, String keyword);

    /**
     * 获取考试详情
     *
     * @param id 考试ID
     * @return 考试详情
     */
    ExamDTO getExamDetail(Long id);

    /**
     * 添加考试
     *
     * @param examDTO 考试信息
     * @return 是否成功
     */
    boolean addExam(ExamDTO examDTO);

    /**
     * 更新考试
     *
     * @param examDTO 考试信息
     * @return 是否成功
     */
    boolean updateExam(ExamDTO examDTO);

    /**
     * 删除考试
     *
     * @param id 考试ID
     * @return 是否成功
     */
    boolean deleteExam(Long id);

    /**
     * 更新考试状态
     * 
     * @return 是否成功
     */
    boolean updateExamStatus();
}